import axios from "axios";
import Vue from 'vue'
Vue.prototype.$http=axios
axios.defaults.baseURL=process.env.VUE_APP_BASE_URL
axios.defaults.timeout=100000
import {Message} from "element-ui";

export default axios

//请求拦截器,每次请求带token才可以访问
axios.interceptors.request.use((res)=>{
    console.log('请求',res);
    const token=sessionStorage.getItem('token');
    if(token){
        //给请求头加上token
        res.headers['Authorization']=token;
    }
    return res;
})


//配置响应拦截器
axios.interceptors.response.use((res) => {
   if(!res.data.flag){
        Message.error(res.data.message)
   }
   return res;
}, (error) => {
    console.log('error',error)
    if(error.response.status===400){
        Message.error(error.response.data.message);
    }else if(error.response.status===401){
        Message.error("您未登录，请登录后操作");
        sessionStorage.clear();
    //    跳转到登录
        this.$router.replace('/login')
    }else if(error.response.status===403){
        Message.error(error.response.data.message)
    }else if(error.response.status===404){
        Message.error('后端接口未找到')

    }else if(error.response.status===405){
        Message.error('请求方法错误,请求后端的方法需要',error.response.data.allow)

    }else if(error.response.status===500){
        Message.error('后端异常--->'+error.response.data.message);

    }else {
        Message.error("未知错误")
    }
});

// //响应
// axios.interceptors.response.use((res) => {
//     if (res.data.message === '您尚未登录，请登录！') {
//         sessionStorage.clear();
//     }
//     return res;
// }, (err) => {
//
//     if (err.response.status=== 400) {
//         this.$message.warning(err.response.data.message);
//     } else if (err.response.status === 405) {
//         this.$message.warning(err.response.data.message);
//     } else if (err.response.status === 403) {
//         this.$message.warning('权限不足，请联系管理员！');
//     } else if (err.response.status === 401) {
//         sessionStorage.clear();
//         this.$message.warning('未登录，请刷新后登录再操作！');
//     } else if (err.response.status === 500) {
//         if (err.response.statusText === 'Internal Server Error') {
//             this.$message.error('后端未启动！');
//         }
//         if(err.response.data.message === 'Network Error') {
//             this.$message.warning('网络错误，请稍后尝试！');
//         } else if (err.response.data.message === '您尚未登录，请登录！') {
//             console.log('您尚未登录，请登录！');
//         } else {
//             this.$message.warning(err.response.data.message);
//         }
//     } else {
//         this.$message.warning('未知错误......');
//     }
// });
